const jwt = require('jsonwebtoken')
const secret = 'test_key'

class JWT {
  /**
   * 创建token的函数
   * @date 2021-03-18
   * @param {any} data 为传入值
   * @param {any} expires='7days' or '120ms' or 60 数字表示秒
   * @returns {any}
   */
  generate(data, expiresIn) {
    try {
      return jwt.sign({ id: data }, secret, { expiresIn: expiresIn })
    } catch (e) {
      console.error('jwt sign error --->', e)
      return ''
    }
  }
  /**
   * 验证token值
   * @date 2021-03-18
   * @param {any} token 要进行验证的token值
   * @returns {any} 如果过期或错误返回false，表示验证失败
   */
  verify(token) {
    try {
      let obj = jwt.verify(token, secret)
      console.log(obj)
      console.log(Date.now())
      return obj
    } catch (e) {
      console.error('jwt verify error --->', e)
      return false
    }
  }

  checkToken(tk) {
    if (!tk) {
      return false
    }
  }
}

module.exports = JWT
